215 research outputs found

    Discovering Implicit Schemas in JSON Data

    Get PDF
    International audienceJSON has become a very popular lightweigth format for data exchange. JSON is human readable and easy for computers to parse and use. However, JSON is schemaless. Though this brings some benefits (e.g., flexibility in the representation of the data) it can become a problem when consuming and integrating data from different JSON services since developers need to be aware of the structure of the schemaless data. We believe that a mechanism to discover (and visualize) the implicit schema of the JSON data would largely facilitate the creation and usage of JSON services. For instance, this would help developers to understand the links between a set of services belonging to the same domain or API. In this sense, we propose a model-based approach to generate the underlying schema of a set of JSON documents

    Creación Colaborativa de Lenguajes Específicos del Dominio

    Get PDF
    National audienceEl desarrollo de sofware es un proceso donde participan muchos actores, principalmente los desarrolladores y los clientes del producto. En la actualidad, procesos de desarrollo como los basados en metodologías ágiles proponen la participación de forma directa de los usuarios o clientes. La idea clave es definir procesos guiados por la comunidad donde todos los participantes (técnicos y no técnicos) colaboran para que el producto satisfaga los requisitos. Esta aproximación es especialmente interesante en el ámbito del desarrollo de lenguajes específicos de dominio (DSL). Sin embargo, aunque estos lenguajes están destinados a una comunidad de usuarios expertos de un dominio concreto, actualmente dichos usuarios tienen poca (o nula) participación en el desarrollo. Nuestra propuesta consiste en incorporar el aspecto colaborativo en los procesos de desarrollo de DSLs, permitiendo a la comunidad de usuarios del lenguaje participar activamente en su creación y evolución. Para ello proponemos adaptar Collaboro, un lenguaje para representar las actividades de colaboración que surgen durante el desarrollo de DSLs, para ser utilizado a lo largo de todo el proceso

    Community-Driven Language Development

    Get PDF
    International audienceSoftware development processes are becoming more collaborative, trying to integrate end-users as much as possible. The idea is to advance towards a community- driven process where all actors (both technical and non-technical) work together to ensure that the system-to-be will satisfy all expectations. This seems specially appropriate in the field of Domain-Specific Languages (DSLs) typically designed to facilitate the development of software for a particular domain. DSLs offer constructs closer to the vocabulary of the domain which simplifies the adoption of the DSL by end-users. Interestingly enough, the development of DSLs is not a collaborative process itself. In this sense, the goal of this paper is to propose a collaborative infrastructure for the development of DSLs where end-users have a direct and active participation in the evolution of the language. This infrastructure is based on Collaboro, a DSL to represent change proposals, possible solutions and comments arisen during the development and evolution of a language

    Extracting Models from Source Code in Software Modernization

    Get PDF
    International audienceModel-driven software modernization is a discipline in which model-driven development (MDD) techniques are used in the modernization of legacy systems. When existing software artifacts are evolved, they must be transformed into models to apply MDD techniques such as model transformations. Since most modernization scenarios (e.g., application migration) involve dealing with code in general-purpose programming languages (GPL), the extraction of models from GPL code is an essential task in a model-based modernization process. This activity could be performed by tools to bridge grammarware and MDD technical spaces, which is normally carried out by dedicated parsers. Grammar-to-Model Transformation Language (Gra2MoL) is a domain-specific language (DSL) tailored to the extraction of models from GPL code. This DSL is actually a text-to-model transformation language which can be applied to any code conforming to a grammar. Gra2MoL aims to reduce the effort needed to implement grammarware-MDD bridges, since building dedicated parsers is a complex and time-consuming task. Like ATL and RubyTL languages, Gra2MoL incorporates the binding concept needed to write mappings between grammar elements and metamodel elements in a simple declarative style. The language also provides a powerful query language which eases the retrieval of scattered information in syntax trees. Moreover, it incorporates extensibility and grammar reuse mechanisms. This paper describes Gra2MoL in detail and includes a case study based on the application of the language in the extraction of models from Delphi code

    Assessing the bus factor of Git repositories

    Get PDF
    International audience—Software development projects face a lot of risks (requirements inflation, poor scheduling, technical problems, etc.). Underestimating those risks may put in danger the project success. One of the most critical risks is the employee turnover, that is the risk of key personnel leaving the project. A good indicator to evaluate this risk is to measure the concentration of information in individual developers. This is also popularly known as the bus factor (" number of key developers who would need to be incapacitated, i.e. hit by a bus, to make a project unable to proceed "). Despite the simplicity of the concept, calculating the actual bus factor for specific projects can quickly turn into an error-prone and time-consuming activity as soon as the size of the project and development team increase. In order to help project managers to assess the bus factor of their projects, in this paper we present a tool that, given a Git-based repository, automatically measures the bus factor for any file, directory and branch in the repository and for the project itself. You can also simulate with the tool what would happen to the project (e.g., which files would become orphans) if one or more developers disappeared

    Attracting Contributions to your GitHub Project

    Get PDF
    International audienceMost Open Source Software projects can only progress thanks to developers willing to voluntarily contribute. Therefore, their vitality and success largely depend on their ability to attract developers. Code hosting platforms like GitHub aim at making software development more collabo-rative and attractive for contributors by providing facilities such as issue-tracking, code review or team management on top of a Git repository following a pull-based model to handle external contributions. We study whether the use of these facilities actually help to get more contributions based on a quantitative analysis over a dataset composed by all the GitHub projects created in the last two years. We discovered that most projects actually ignore them and that, those that don't, do not advance faster either. A manual analysis of the most successful projects suggests that other factors like clear description of the contribution and gover-nance rules for the project have a greater impact

    Monitorización de la eficiencia de depuración de una planta de tratamiento de agua residual urbana mediante el empleo de técnicas de análisis estadístico multivariente

    Get PDF
    En una gran cantidad de campos nos encontramos con un amplio número de variables que se miden a diario, por lo que se requiere un enfoque coherente y estructurado del sistema para entender su comportamiento inherente. En este sentido, son ampliamente utilizados tanto el análisis de componentes principales (ACP) como el análisis de conglomerados jerárquico (HCA), que son técnicas multivariantes utilizadas para extraer y estructurar la información. En este trabajo, ambas herramientas estadísticas se aplicaran en una estación depuradora de aguas residuales urbanas (EDAR) situada en Cartagena, en el sureste de España, una zona marcada por un fondo de composición geoquímico muy característico del agua y un uso importante de fertilizantes en tareas agrícolas. Para ello, se tomaron muestras de agua durante tres años (2010, 2011 y 2012) y se analizaron una serie de parámetros como caudal, pH, conductividad, temperatura, MLVSS, sólidos en suspensión, V30, índice volumétrico de fangos, DBO5, DQO, nitrógeno (amonio y nitrato) y fósforo (fosfato), en de tres puntos de la depuradora: el influente (salida del tratamiento primario hacia el secundario), el reactor biológico y el efluente. En total, se extrajeron cinco componentes en el análisis de componentes principales, que mostraron estar asociados con: los nutrientes y la materia orgánica a lo largo de todo el proceso (PC1), un componente iónico (PC2), la eficiencia del proceso de depuración (PC3), la carga orgánica a la entrada de la EDAR (PC4) y la posible entrada de contaminantes a la depuradora procedentes de la erosión eólica (PC5). Se realizaron barras de error y pruebas de homogeneidad de varianzas (ANOVA) para los componentes principales con respecto a los días de la semana y las estaciones del año. Para los días de la semana, no aparecieron diferencias con significación estadística para los cuatro primeros componentes principales, aunque sí para el último, que indicaría que el PC5 está sujeto a cambios meteorológicos. En cuanto a las diferencias por estaciones, fueron significativas las variaciones para el componente principal 2 (PC2), que representaba la carga iónica de la EDAR, siendo más alto en verano que en el resto de estaciones, de forma estadísticamente significativa. El descenso de carga orgánica que se produce en la EDAR durante el estío, justificaría el incremento en este segundo componente, que representa la carga geoquímica de nuestras aguas. En cuanto al análisis de conglomerados jerárquicos, nos permitió distinguir los parámetros afluentes de los del efluente y en un análisis más exhaustivo pudimos comprobar que los resultados eran muy parecidos a los obtenidos en el análisis de componentes principales.Escuela Técnica Superior de Ingeniería IndustrialUniversidad Politécnica de Cartagen
    corecore